package com.sxpi.zixun.service.course;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sxpi.zixun.bo.CourseBo;
import com.sxpi.zixun.pojo.Course;
import com.sxpi.zixun.service.BaseService;
import com.sxpi.zixun.vo.CourseStatusUpdateVo;
import com.sxpi.zixun.vo.CourseVo;

import java.util.List;

/**
 * @Author: 董伟豪
 * @Date: 2022/9/5 19:53
 */
public interface ICourseService extends IService<Course>, BaseService {

    /**
     * 查询课程列表信息并分页
     * @param courseVo
     * @return
     */
    IPage<CourseBo> findCoursePage(CourseVo courseVo);

    /**
     * 保存和修改课程
     * @param course
     * @return
     */
    CourseBo saveUpdateCourse(Course course);

    /**
     * 根据课程id删除课程
     * @param id
     * @return
     */
    int deleteCourseById(Long id);

    /**
     * 根据课程ids批量删除课程
     * @param batchIds
     * @return
     */
    boolean deleteBatchCourse(String batchIds);

    /**
     * 用于状态更新
     * @param courseStatusUpdateVo
     * @return
     */
    boolean updateAdminRole(CourseStatusUpdateVo courseStatusUpdateVo);

    /**
     * 根据课程id查询明细信息
     * @param id
     * @return
     */
    CourseBo getCourseById(Long id);

    /**
     * 拷贝课程信息
     * @param course
     * @return
     */
    CourseBo saveupdateCourse(Course course);

    /**
     * 查询课程列表信息
     * @return
     */
    List<CourseBo> findCourseList();
}
